﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace YY.Admin.ViewModels.Dialogs
{
    public class ConfirmDialogViewModel : BindableBase, IDialogAware
    {
        public string Title => "确认";

        private string _message;
        public string Message
        {
            get => _message;
            set => SetProperty(ref _message, value);
        }

        // 这是 Prism.Dialogs 版本的 RequestClose
        public DialogCloseListener RequestClose { get; private set; }

        public DelegateCommand YesCommand { get; }
        public DelegateCommand NoCommand { get; }

        public ConfirmDialogViewModel()
        {
            YesCommand = new DelegateCommand(() => CloseDialog(ButtonResult.Yes));
            NoCommand = new DelegateCommand(() => CloseDialog(ButtonResult.No));
        }

        private void CloseDialog(ButtonResult result)
        {
            // 触发关闭
            RequestClose.Invoke(new DialogResult(result));
        }

        public bool CanCloseDialog() => true;

        public void OnDialogOpened(IDialogParameters parameters)
        {
            Message = parameters.GetValue<string>("message");
        }

        public void OnDialogClosed() { }
    }
}
